package bean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Vector;

import javax.persistence.*;

@Entity
@Table(name = "ListasDePrecios")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "tipo", discriminatorType = DiscriminatorType.STRING)
public class ListaDePreciosVO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int nroLista;
	private ProveedorVO proveedor;
	private Date vigenciaDesde;
	private Date vigenciaHasta;
	private List<ItemListaPreciosVO> items = new ArrayList<ItemListaPreciosVO>();

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	public int getNro_lista() {
		return nroLista;
	}

	public void setNro_lista(int nroLista) {
		this.nroLista = nroLista;
	}

	@ManyToOne
	@JoinColumn(name = "cuitProveedor")
	public ProveedorVO getProveedor() {
		return proveedor;
	}

	public void setProveedor(ProveedorVO proveedor) {
		this.proveedor = proveedor;
	}

	@OneToMany(cascade = CascadeType.ALL)
	@JoinColumn(name = "nroLista")
	public List<ItemListaPreciosVO> getItems() {
		return items;
	}

	public void setItems(List<ItemListaPreciosVO> items) {
		this.items = items;
	}

	public Date getVigenciaDesde() {
		return vigenciaDesde;
	}

	public void setVigenciaDesde(Date vigenciaDesde) {
		this.vigenciaDesde = vigenciaDesde;
	}

	public Date getVigenciaHasta() {
		return vigenciaHasta;
	}

	public void setVigenciaHasta(Date vigenciaHasta) {
		this.vigenciaHasta = vigenciaHasta;
	}

	public void agregarItemVO(ItemListaPreciosVO i) {

		items.add(i);
	}

	
	public Vector<String> toVector() {

		Vector<String> salida = new Vector<String>();
	
		
		salida.add(String.valueOf(this.nroLista));
		salida.add(String.valueOf(this.getProveedor().getCuit()));
		salida.add(String.valueOf(this.vigenciaDesde));
		salida.add(String.valueOf(this.vigenciaHasta));
		return salida;

	}
	
}
